﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using ArgusLib.Xml;
using ArgusLib.Drawing;

namespace ArgusLib.Fractals
{
	public interface IRenderer : ISerializable
	{
		IRenderParameter Parameter { get; set; }
		bool SupportsDataSet(IDataSet dataSet);
		bool SupportsDataSet(Type dataSetType);
		Bitmap Render(IDataSet dataSet);
		void Render(Bitmap image, IDataSet dataSet);
		void Render(ExtendedBitmap image, IDataSet dataSet);
		IDataSetProvider GetCompatibleDataSetProvider();
		//void StartRendering(IDataSet dataSet);
		//event RenderingFinishedEventHandler RenderingFinished;
	}
}
